package com.qijian.maindata.service.impl;

import java.util.List;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.qijian.maindata.domain.ProductAttributeItem;
import com.qijian.maindata.domain.ProductAttributeItemDetail;
import com.qijian.maindata.domain.dto.ProductAttributeItemDto;
import com.qijian.maindata.mapper.ProductAttributeItemDetailMapper;
import com.qijian.maindata.service.IProductAttributeItemDetailService;
import com.qijian.maindata.service.IProductAttributeItemService;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;

import static com.qijian.common.core.controller.BaseController.cleanDetailsData;

/**
 * 辅助属性值详情Service业务层处理
 *
 * @author qijian
 * @date 2022-01-13
 */
@Service
@RequiredArgsConstructor
public class ProductAttributeItemDetailServiceImpl extends ServiceImpl<ProductAttributeItemDetailMapper, ProductAttributeItemDetail> implements IProductAttributeItemDetailService {

    private final ProductAttributeItemDetailMapper productAttributeItemDetailMapper;
    private final IProductAttributeItemService productAttributeItemService;

    @Override
    public void saveUpdate(List<ProductAttributeItemDto> dto) {
        cleanDetailsData(dto.get(0).getItemId(), dto, ProductAttributeItem.class);
        dto.forEach(d -> {
            productAttributeItemService.saveOrUpdate(d);
            if (d.getDetails() != null)
                cleanDetailsData(d.getId(), d.getDetails(), ProductAttributeItemDetail.class);
        });
    }
}
